import util.ListNode;


/**
 * 给你两个 非空 的链表，表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的，并且每个节点只能存储 一位 数字。
 * <p>
 * 请你将两个数相加，并以相同形式返回一个表示和的链表。
 * <p>
 * 你可以假设除了数字 0 之外，这两个数都不会以 0 开头。
 *
 * 认真读题找规律！！！！
 *      l1 = [2,4,3], l2 = [5,6,4]
 * 输出：[7,0,8]
 * 解释：342 + 465 = 807.
 *              --> 2+5=7，4+6=10——>0 ， 3+4=7+1=8
 *
 *
 *              **以下是错误答案**
 */
public class AddTwoNumbersUtil {
    private static ListNode n1 = new ListNode();
    private static ListNode n2 = new ListNode();

    public static ListNode getN1() {
        return n1;
    }

    public ListNode getN2() {
        return n2;
    }

    public static void foreachRes(ListNode res) {
        while (res != null) {
            System.out.println(res.val);
            if (res.next != null) {
                res = res.next;
            } else {
                break;
            }
        }
    }

    public static void init() {
        ListNode node1 = new ListNode(1);
        ListNode node2 = new ListNode(1);
        ListNode node3 = new ListNode(2);
        node1.next = node2;
        node2.next = node3;

        n1 = node1;
        n2 = node2;
    }

    public static int getIntegerByNode(ListNode l1) {
        StringBuilder str = new StringBuilder();
        ListNode listNode = l1;
        if (l1 != null) {
            while (true) {
//                System.out.println(listNode.val);
                str.append(listNode.val);
                if (listNode.next != null) {
                    listNode = listNode.next;
                } else {
                    break;
                }
            }
        }
        return Integer.parseInt(str.reverse().toString());
    }
}
